import java.util.Arrays;
import java.util.Scanner;

public class ScannerTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // 读取整数
        int n = sc.nextInt();
        
        // 读取浮点数
        double d = sc.nextDouble();
        
        // 读取字符串（遇到空格/换行停止）
        String s = sc.next();
        
        // 读取整行（包含空格）
        String line = sc.nextLine();
        
        // 读取数组（如输入：1 2 3 4 5）
        Integer[] arr = new Integer[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        
        // 输入示例：
        // 3 3
        // 1 2 3
        // 4 5 6
        // 7 8 9
        int rows = sc.nextInt();
        int cols = sc.nextInt();
        int[][] matrix = new int[rows][cols];
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                matrix[i][j] = sc.nextInt();
            }
        }

        // 自定义排序：按降序排列数组
        Arrays.sort(arr, (a, b) -> b - a);

        // 打印排序后的数组
        System.out.println(Arrays.toString(arr));

        sc.close(); // 关闭Scanner
    }
}